/*
 * @Descripttion: 
 * @Author: ziwei
 * @Date: 2022-02-01 12:36:59
 * @LastEditors: ziwei
 * @LastEditTime: 2022-10-08 13:13:33
 */
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const webpack = require('webpack');
module.exports = {
    mode:'development',
    devtool:false,
    entry:{
        main:'./src/index.js'//入口文件
    },
    output:{
        path:path.resolve(__dirname,'dist'),//输出文件
        filename:'main.js',//文件名
        //publicPath:'/',//默认空 打包后加前缀
        //open:true,//默认打开文件
        //port:8080,//名片人
        // compress:true,//开启压缩
    },
    //express 启动一个HTTP服务器 通过它可以访问产出的文件
    devServer:{
        contentBase:path.resolve('public')//额外的静态文件内容的目录 webpack-dev-server额外的功能
    },
    module:{
        rules:[
            // {
            //     test:/\.js$/,
            //     use:[
            //         {
            //             loader:'bable-loader',
            //             use:[
            //                 {
            //                     loader:'babel-loader',
            //                     options:{
            //                         preset:[
            //                             "@babel/preset-env",{
            //                                 useBuiltIns:'entry',
            //                                 corejs:2
            //                             }
            //                         ]
            //                     }
            //                 }
            //             ]
            //         }
            //     ]
            // },
            {
                test:/\.txt$/,
                use:'raw-loader'//loader就是把webpack不认识的内容转成webpack认识的内容
            },{
                test:'/\.css$/',
                use:[
                    'style-loader',{
                        loader:'css-loader',//url import 进行处理
                        options:{
                            importLoaders:1
                        }
                    },
                    'postcss-loader'// css与预处理器 添加常用前缀
                ]
            }
        ]
    },
    plugins:[
        new HtmlWebpackPlugin({
            template:'./src/index.html'
        }),
        new webpack.DefinePlugin({
            //运行本质是在编译的时候 一个纯的字符串的替换 并不会定义任何的变量 和js文件中取值对应就行 浏览器取不到
            'process.env.Node_ENV2':JSON.stringify('development'),
            'NODE_ENV2': JSON.stringify('development')
        })
    ]
}